7579

38 分钟

#C 语言标准库头文件 stdlib.h

这个头文件提供 常用的基本功能。例如内存管理,程序终止等。

#常量

常量标准说明
EXIT_SUCCESSC89表示程序正确执行,通常为 0
EXIT_FAILUREC89表示程序执行失败,通常为 1

#函数

程序退出标准说明
abortC89异常中止
exitC89正常退出
atexitC89注册 exit 退出前调用的函数
_ExitC99正常退出
quick_exitC11快速退出
at_quick_exitC11注册 quick_exit 退出前调用的函数
内存管理标准说明
mallocC89分配内存
freeC89释放内存
reallocC89重新分配内存
callocC89分配一组内存
aligned_allocC11分配对齐的内存
随机数标准说明
randC89获取随机数
srandC89设置随机数种子
数学计算标准说明
absC89计算 int 的绝对值
labsC89计算 long 的绝对值
llabsC99计算 long long 绝对值
divC89计算 int 除法,同时得到商和余数
ldivC89计算 long 除法,同时得到商和余数
lldivC99计算 long long 除法,同时得到商和余数
字符串转换标准说明
atofC89字符串转 double 浮点数
atoiC89字符串转 int 整数
atolC89字符串转 long 整数
atollC89字符串转 long long 整数
strtofC99字符串转 float 浮点数
strtodC99字符串转 double 浮点数
strtoldC99字符串转 long double 浮点数
strtolC99字符串转 long 整数
strtollC99字符串转 long long 整数
strtoulC99字符串转 unsigned long 整数
strtoullC99字符串转 unsigned long long 整数

#推荐阅读

#示例

#include <stdio.h> #include <stdlib.h> // 包含stdlib.h头文件 #include <time.h> // 用于time()函数 // 定义比较函数 int compare(const void *a, const void *b) { return (*(int*)a - *(int*)b); } int main(void) { // 1. 内存分配示例 printf("=== 内存分配示例 ===\n"); int *arr = (int*)malloc(5 * sizeof(int)); // 分配5个int大小的内存 if (arr == NULL) { printf("内存分配失败!\n"); return 1; } else { printf("内存分配成功!\n"); } // 2. 随机数生成示例 printf("\n=== 随机数生成示例 ===\n"); srand(time(0)); // 用当前时间初始化随机数种子 printf("随机数[0,99]: %d\n", rand() % 100); // 3. 字符串转换示例 printf("\n=== 字符串转换示例 ===\n"); char num_str[] = "12345"; int num = atoi(num_str); // 字符串转整数 printf("字符串\"%s\"转换为整数: %d\n", num_str, num); // 4. 环境变量示例 printf("\n=== 环境变量示例 ===\n"); char *path = getenv("PATH"); // 获取PATH环境变量 if (path != NULL) { printf("PATH环境变量: %s\n", path); } else { printf("PATH环境变量未找到\n"); } // 5. 排序示例 (qsort) printf("\n=== 排序示例 ===\n"); for (int i = 0; i < 5; i++) { arr[i] = rand() % 100; // 给数组赋随机值 printf("arr[%d] = %d\n", i, arr[i]); } qsort(arr, 5, sizeof(int), compare); // 排序数组 printf("排序后:\n"); for (int i = 0; i < 5; i++) { printf("arr[%d] = %d\n", i, arr[i]); } // 6. 退出程序 free(arr); // 释放分配的内存 printf("\n程序正常退出\n"); exit(EXIT_SUCCESS); // 等同于return 0 }

运行结果:

=== 内存分配示例 ===
内存分配成功!

=== 随机数生成示例 ===
随机数[0,99]: 92

=== 字符串转换示例 ===
字符串"12345"转换为整数: 12345

=== 环境变量示例 ===
PATH环境变量: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

=== 排序示例 ===
arr[0] = 74
arr[1] = 0
arr[2] = 64
arr[3] = 73
arr[4] = 28
排序后:
arr[0] = 0
arr[1] = 28
arr[2] = 64
arr[3] = 73
arr[4] = 74

程序正常退出

创建于 2025/6/16

更新于 2025/7/29